package collection;

import java.util.Deque;
import java.util.LinkedList;

/**
 * java.util.Deque接口，双端队列
 * 双端队列就是队列两端都可以做出入队的队列。
 * Deque继承自Queue，常用实现类:java.util.LinKedList.
 */
public class DequeDemo {
    public static void main(String[] args) {
        Deque<String> deque = new LinkedList<>();
        deque.offer("one");
        deque.offer("two");
        deque.offer("three");
        deque.offer("四");
        deque.offer("5");
        System.out.println(deque);
        /** offerFirst():从队首方向入队 */
        deque.offerFirst("6");
        System.out.println(deque);
        /** offerLast():从队尾方向入队 -> boolean offer(): 入队 */
        deque.offerLast("七");
        System.out.println(deque);
        /** pollFirst(): 从队首方向出队 ->  E poll(): 出队*/
        String str = deque.poll();
        System.out.println(str);

        str = deque.pollFirst();
        System.out.println(str);
        /** pollLast() 从队尾方向出队 */
        str = deque.pollLast();
        System.out.println(str);

    }
}
